# @author : sentry
# @since : 2023-09-10
# 快乐数

"""
在给定的数字下，该数字所有数位(digits)的平方和，得到的新数再次求所有数位的平方和，如此重复进行，最终结果必定为1
"""


def sum_square(num):
    sum_num = 0
    for i in str(num):
        sum_num += int(i) ** 2
    return sum_num


origin_num = int(input('请输入数字：'))
result_list = []
n = origin_num
while True:
    n = sum_square(n)
    if n in result_list:
        break
    result_list.append(n)

if n == 1:
    print(f'{origin_num}是快乐数')
else:
    print(f'{origin_num}不是快乐数')
